﻿/**
 * 
 * @file BrowserWidget.h
 * @brief 浏览窗口声明 
 * @author LiBaojun (libaojunqd@foxmail.com)
 * @date 2024-10-18
 * 
 */
#ifndef _WIDGRT_BROWSER_H___
#define _WIDGRT_BROWSER_H___
 
#include "GUIWidget/GraphArea.h"

class QTableWidget;

namespace GUI
{
    class WidgetBrowserTable;
    /**
     * @brief 浏览窗口声明
     * @author LiBaojun (libaojunqd@foxmail.com)
     * @date 2024-10-18
     */
    class GUIWIDGETAPI BrowserWidget : public GraphAbstractSubWin
    {
    public:
        /**
         * @brief Construct a new Browser Widget object
         * @param[i]  p              父对象
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-18
         */
        explicit BrowserWidget(GraphArea* p);
        /**
         * @brief Destroy the Browser Widget object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-18
         */
        virtual ~BrowserWidget() = default;
        /**
         * @brief 获取窗口类型
         * @return SubWinType 
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-18
         */
        virtual SubWinType getSubWindowType() override;
        /**
         * @brief 更新表格
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-12-05
         */
        void updateTable();
        /**
         * @brief 获取表格
         * @return WidgetBrowserTable* 
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-12-05
         */
        WidgetBrowserTable* getTable();

    private:
        /**
         * @brief 表格对象
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-12-05
         */
        WidgetBrowserTable* _tableWidget{};
    };
}


#endif
